1. Field of the Invention
The invention relates to an image forming system and an image forming apparatus.
2. Related Background Art
Hitherto, in a printer system as an image forming system, an image is formed onto a print medium such as paper or the like by an image forming apparatus such as a printer or the like on the basis of image data such as print data or the like formed by a host apparatus such as personal computer, server, or the like.
FIG. 2 is a schematic diagram of a conventional printer system.
As shown in the diagram, a host 210 as a host apparatus and a printer 221 as an image forming apparatus are connected by a USB (Universal Serial Bus) cable 238.
The host 210 has: an application 211; a printer driver 212 for converting data outputted from the application 211 into a printer language; a setup process 213 for obtaining construction information from the printer 221 upon occurrence of a bus reset and deciding an interface with the printer 221; a transfer control unit 214 for registering a device and specifying a reception destination and a transmission destination on the basis of USB descriptor information obtained by the setup process 213 and transmitting and receiving the data; port information 215 for storing reception destination information and transmission destination information of each port and information such as transfer means or the like; a transmission buffer 216 for temporarily storing transmission data; a reception buffer 217 for temporarily storing the data received from the printer 221; a DMA (Direct Memory Access) controller 219 for transferring the data between the transmission buffer 216 and a USB chip 220, which will be explained hereinlater, and between the reception buffer 217 and the USB chip 220; and the USB chip 220 for outputting the data transmitted by the DMA controller 219 to the printer 221 and receiving the data from the printer 221.
The printer 221 has: a USB chip 222 for storing the data received from the host 210 into a transmission/reception buffer 224 and a reception buffer 225, which will be explained hereinlater, and outputting transmission data sent by a DMA controller 223, which will be explained hereinlater, to the host 210; the DMA controller 223 for transferring data between the USB chip 222 and the transmission/reception buffer 224 and between the reception buffer 225 and a transmission buffer 226, which will be explained hereinlater; the transmission/reception buffer 224 for temporarily storing transmission/reception data of a setup process 229, which will be explained hereinlater; the reception buffer 225 for temporarily storing the print data which is outputted from the host 210; the transmission buffer 226 for temporarily storing reverse information received from a PDL (Page Description Language) discrimination processing unit 230, which will be explained hereinlater; a transfer control unit 227 for specifying a reception destination and a transmission destination and distributing the data; end point information 228 for storing reception destination information, transmission destination information, and the like of each end point; the setup process 229 for transmitting and receiving control information to/from the host 210 upon occurrence of the bus reset; the PDL discrimination processing unit 230 for sensing the received data, discriminating the PDL language, and distributing the data to proper PDL processes; USB descriptor information 231 which is returned by the printer 221 at the time of the bus reset or at the time of inquiring about setup information from the host 210; PnP (Plug and Play) information 232 which is returned by the printer 221 when there is an inquiry about Plug and Play from the host 210; an edit processing unit 233 for converting the printer language into a display list and notifying a development processing unit 236, which will be explained hereinlater, of the display list; the development processing unit 236 for converting the data to which the display list has been transferred into image data and sending the image data to an engine 237, which will be explained hereinlater; and the engine 237 for printing the image data.
The edit processing unit 233 of the printer 221 comprises a PCL language process 234, a PS language process 235, and the like.
Subsequently, constructions of the USB chip 220 of the host 210 and the USB chip 222 of the printer 221 will be described.
FIG. 3 is a diagram showing a structure of a conventional USB chip.
As shown in FIG. 3, a USB device 240 in the USB chip 220 on the host 210 has an FIFO (First-In First-Out) 240a for transmission as a queue for data storage and an FIFO 240b for reception.
The FIFO 240a for transmission is used for transmitting control data which is handled in control transfer or transmitting application data which is handled in bulk-out transfer. The FIFO 240b for reception is used for receiving response data to a control transfer inquiry from the host 210 or receiving printer status information or the like which is transmitted from the printer 221 by bulk-in transfer.
Further, a USB device 250 of the USB chip 222 on the printer 221 supports functions of the USB device 250 and has an FIFO 250a for control transfer, an FIFO 250b for bulk-out transfer, and an FIFO 250c for bulk-in transfer, respectively.
The FIFO 250a for control transfer is used for receiving commands or various information from the host 210 or transmitting responses to the commands or various information from the host 210. The FIFO 250b for bulk-out transfer is used for receiving the print data from the host 210. The FIFO 250c for bulk-in transfer is used for transmitting a response to transmission permission from the host 210.
Communication data which is transmitted and received on the USB has a packet structure including end point information comprising a pipe number consisting of 4 bits and address information consisting of 7 bits for identifying a specific device. Each packet data is distributed to the relevant FIFO on the basis of the end point information.
Subsequently, the USB data transfer operation in the printer system with the above construction will be described.
FIG. 4 is a flowchart showing the USB data transfer operation in the conventional printer system.
First, when the bus reset is detected, the setup process 213 of the host 210 inquires of the USB device 250 of the printer 221 about USB descriptor information by using the control transfer (step S1). Thus, the printer 221 returns the USB descriptor information 231 to the host 210 in response to the inquiry about the USB descriptor information from the host 210 (step S2). The setup process 213 of the host 210 recognizes device information of a connected device and a supporting state of transfer means by the obtained USB descriptor information 231, decides an interface to be used, and notifies the printer 221 of interface ID information which is used (step S3).
Subsequently, the setup process 229 of the printer 221 sets the USB chip 222 by the notified interface ID information (step S4). After that, the transfer control unit 227 obtains the PnP information 232 of the printer 221 from the printer 221 by using the control transfer and registers port information. If the driver which coincides with the registered port information does not exist, the user is notified that a new device has been detected (step S5). The application 211 to which the printing has been instructed by the user instructs the printer driver 212 to print (step S6).
Subsequently, the printer driver 212 to which the printing has been instructed forms print data and requests the transfer control unit 214 to transmit (step S7). The transfer control unit 214 of which the transmission has been requested notifies the printer 221 of the print data by using the bulk-out transfer (step S8). If the application 211 wants to obtain the status of the printer 221, it instructs the printer driver 212 to request for obtainment of the status (step S9).
Subsequently, the printer driver 212 of which the obtainment of the status has been requested forms a status inquiry command and requests the transfer control unit 214 to transmit (step S10). The transfer control unit 214 of which the transmission has been requested notifies the printer 221 of the status inquiry command by using the bulk-out transfer (step S11). The printer 221 which received the status inquiry command forms status information (step S12).
Subsequently, the printer driver 212 requests the transfer control unit 214 to read the printer reverse information (step S13). The transfer control unit 214 of which the reading has been requested allows the printer 221 to start the bulk-in transfer and permits the printer 221 to transmit reverse data (step S14). Thus, the printer 221 transfers the reverse data to the host 210 by the bulk-in transfer in response to the permission of the transfer of the reverse data (step S15). The transfer control unit 214 receives the reverse data, transfers it to the printer driver 212, and displays the status information (step S16).
To make it possible to forcedly stop the print even during the printing and to obtain a real-time status during the printing in the printer system, a technique for dividing the print data and control data into different channels by introducing a protocol of the IEEE1284.4 standard which can realize virtual channels has been proposed (refer to JP-A-2001-18492 and JP-A-2001-22542).
To distinguish ordinary normal data from packet data to which a packet of the IEEE1284.4 standard has been added, a technique for discriminating them by a setting of a menu, discriminating them by a communication mode such as compatibility mode, ECP mode, or the like, or discriminating them by a change in signal line during data communication has also been proposed (refer to JP-A-11-168524).
Since the IEEE1284.4 standard is used for obtaining the real-time status in the above conventional printer system, however, header information of 6 bytes is added on a packet unit basis of the IEEE1284.4 standard. Therefore, an amount of data which is transmitted and received between the devices is large and throughput of the printer system deteriorates.
Since the mechanism for distinguishing the normal data from the packet data corresponds only to the IEEE1284.4 standard, it cannot cope with the USB standard.
Further, since the print data transmitted from the host 210 is discriminated by the PDL discrimination processing unit 230 and distributed to the relevant PDL process, when the number of PDLs which are installed increases, the operation of the PDL discrimination processing unit 230 becomes complicated and each time a new PDL is added, the number of installing steps increases and it takes time to evaluate.